
import $request from './request'
var util={};
util.isReload={};
//是否登录
util.isLogin = function() {
	var token = uni.getStorageSync('tokenhcmh');
	if(!token) return false;
	return true;
}

util.checkLogin = function(callback){
	if(util.isLogin()==false)
	{
		uni.showLoading({
			title: '登录中……',
			mask:true
		});
		let code=util.getUrlParam('code');
		$request.getUseinfo(code,function(res){
			uni.hideLoading();
			callback&&callback(res)
		})
	}else{
		callback&&callback(uni.getStorageSync("tokenhcmh"))
	}
}
// 判断公众号截取code
util.getUrlParam = function(name){
	let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	let r = window.location.search.substr(1).match(reg);
	if (r != null) {
		return unescape(r[2]);
	}
	return null;
}

//强制登陆
util.forceLogin = function(page=''){
	if(util.isLogin()==false)
	{
		var url='/pages/public/login';
		if(page){
			url+='?isReload='+page;
		}
		uni.navigateTo({
			url:url
		})
		return false;
	}
	return true;
}



/* 检查指定页面是否需要重新加载 */
util.checkIsReload=function(pageName){
	if(util.isReload.hasOwnProperty(pageName)&&util.isReload[pageName]){
		return true;
	}else{
		return false;
	}
}



util.tips=function(content,url='',icon='none',type='redirect'){
	uni.showToast({
		title:content,
		icon:icon
	})
	if(url!=''){
		setTimeout(function(){
			if(url<0){
				if(type!='redirect'){
					util.isReload[type]=true;
				}
				uni.navigateBack({
					delta:0-url
				})
			}else{
				switch (type){
					case 'redirect':
						uni.redirectTo({
							url:url
						})	
						break;
					case 'reLaunch':
						uni.reLaunch({
							url:url
						})	
						break;
					case 'switchTab':
						uni.switchTab({
							url:url
						})
						break;
					default:
						break;
				}
			}
			
		},1500)
	}
}


/* 手机号码验证 */
util.validatePhoneNumber=function(str) {
 const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
 return reg.test(str)
},

/* 网址验证 */
util.validateUrl=function(str){
	var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
	return reg.test(str)
}
/* 判断对象是否包含某一个属性并且该属性不为空 */
util.isObjEmpty=function(obj,name){
	if(obj.hasOwnProperty(name) && obj[name]!=null && obj[name]!='' && typeof obj[name]!='undefined'){
		return false;
	}else if(obj[name]==0){
		return false;
	}else{
		return true;
	}
}

/* 判断是否为数组 */
util.isArray=function(o){
	return Object.prototype.toString.call(o)== '[object Array]';
}

/* 获取今天日期 */
util.today=function(str=''){
	var now = new Date();
	var day = ("0" + now.getDate()).slice(-2);  
	if(str=='day') return day;
	//格式化月，如果小于9，前面补0  
	var month = ("0" + (now.getMonth() + 1)).slice(-2);  
	if(str=='month') return month;
	//拼装完整日期格式  
	var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
	var hour = now.getHours();//得到小时
	var minu = now.getMinutes();//得到分钟
	var sec = now.getSeconds();//得到秒
	var datetime=today+' '+hour+':'+minu+':'+sec;
	if(str=='datetime') return datetime;
	return today;
}

/* 缓存中是否含有键值 */
util.isHasStorgekey=function(key){
	let res=uni.getStorageInfoSync()
	if(res.keys.indexOf(key)>-1){
		return true;
	}else{
		return false;
	}
}
/* 选择图片 */
util.chooseImage=function(success){
	uni.chooseImage({
		count: 1,
		sizeType: ['compressed'],
		sourceType: ['album', 'camera'],
		success: (res) => {
			success&&success(res) 
		},
		fail: (err) => {
			console.log('chooseImage fail', err)

		}
	})
}


//实现将项目的图片转化成base64
util.convertImgToBase64=function(url, callback, outputFormat){
   //#ifdef H5
   var canvas = document.createElement('CANVAS'),
　　ctx = canvas.getContext('2d'),
　　img = new Image;
　　img.crossOrigin = 'Anonymous';
　　img.onload = function(){
	　　canvas.height = img.height;
	　　canvas.width = img.width;
	　　ctx.drawImage(img,0,0);
	　　var dataURL = canvas.toDataURL(outputFormat || 'image/png');
	　　callback.call(this, dataURL);
	　　canvas = null; 
	};
　　img.src = url;
	//#endif
	//#ifdef APP-PLUS
	var path=plus.io.convertLocalFileSystemURL(url);//临时路径转绝对路径
	var fileReader = new plus.io.FileReader();
	fileReader.readAsDataURL(path);
	fileReader.onloadend = function(evt) {//读取文件成功完成的回调函数
		console.log(evt.target.result);//输出base64内容
		callback.call(this, evt.target.result);
	}
	//#endif
} 

/**
   * 记录推荐人id
   */
  util.saveRefereeId=function(referee_id) {
    
	$request.post('invite/save',{referee_id:referee_id}).then(res=>{
		  
	})
  }
  
  /**
  * 记录formId
  */
  util.saveFormId=function(formId){
	  console.log('saveFormId');
	  if (formId === 'the formId is a mock one') {
		return false;
	  }
	  $request.post('wxapp.formId/save',{formId:formId}).then(res=>{
		  
	  })
  }
  
 /* 调用微信支付 */
 util.callPay=function(data,callback){
	 console.log(data)
	 if(data.pay_way=='wxpay'){
		 uni.requestPayment({
		     provider: data.pay_way,
		     orderInfo: data.orderInfo, //微信订单数据
			 timeStamp:data.payment.timeStamp,
			 nonceStr:data.payment.nonceStr,
			 package:'prepay_id='+data.payment.prepay_id,
			 signType:'MD5',
			 paySign:data.payment.paySign,
		     success: function (res) {
		 		callback&&callback(res)
		     },
		     fail: function (err) {
		 		console.log(err)
				if(err.errMsg=='requestPayment:fail cancel'){
					util.curIndex=data.curIndex;
					util.tips('取消支付','/pages/report/index','none','switchTab');
					return false;
				}
		 		util.tips(err.errMsg);
		     }
		 });
	 }
	 
 }
 
  //判断是否微信登陆
  util.isWeiXin=function() {
         var ua = window.navigator.userAgent.toLowerCase();
         console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
         if (ua.match(/MicroMessenger/i) == 'micromessenger') {
             return true;
         } else {
             return false;
         }
    }

export default util
